package com.zone.domain.strategy.service;

import com.zone.domain.strategy.model.entity.RuleTreeNodeEntity;
import com.zone.domain.strategy.model.entity.StrategyRuleEntity;
import com.zone.domain.strategy.model.valobj.RuleEnums;

import java.util.List;
import java.util.Map;

/**
 * @author: zongzi
 * @description: 抽奖规则相关接口
 * @date: 2025/2/27
 */
public interface IRaffleRule {

    /**
     * 查询奖品-规则树集合
     *
     * @param strategyId
     * @return key: awardId, value: treeNodeList
     */
    Map<Integer, List<RuleTreeNodeEntity>> queryAwardTreeNodeMap(Long strategyId);

    /**
     * 查询主策略规则
     *
     * @param strategyId    策略id
     * @param ruleModelEnum 规则
     * @return
     */
    StrategyRuleEntity queryStrategyRule(Long strategyId, RuleEnums.RuleModelEnum ruleModelEnum);
}
